package cn.ryh.gat1400.model;

import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.ToString;

/**
 * @Author: aiLin
 * @Date: 2020/9/25 17:53
 * @desc: 订阅对象
 */
@Data
@ToString
@NoArgsConstructor
@AllArgsConstructor
public class Subscribe {

    /**
     * 订阅标识符
     */
    @JsonProperty("SubscribeID")
    private String subscribeId;

    /**
     * 描述订阅的主题和目标
     */
    @JsonProperty("Title")
    private String title;

    /**
     * 订阅类别
     */
    @JsonProperty("SubscribeDetail")
    private int subscribeDetail;

    /**
     * 订阅资源类别
     */
    @JsonProperty("ResourceClass")
    private int resourceClass;

    /**
     * 资源路径URI
     */
    @JsonProperty("ResourceURI")
    private String resourceURI;

    /**
     * 申请人
     */
    @JsonProperty("ApplicantName")
    private String applicantName;

    /**
     * 申请单位
     */
    @JsonProperty("ApplicantOrg")
    private String applicantOrg;

    /**
     * 订阅开始时间
     */
    @JsonProperty("BeginTime")
    private String beginTime;

    /**
     * 订阅结束时间
     */
    @JsonProperty("EndTime")
    private String endTime;

    /**
     * 订阅信息接受地址URL
     */
    @JsonProperty("ReceiveAddr")
    private String receiveAddr;

    /**
     * 信息上报时间,单位为秒（s），<=0 表示不限制
     */
    @JsonProperty("ReportInterval")
    private int reportInterval;

    /**
     * 订阅理由
     */
    @JsonProperty("Reason")
    private String reason;


    /**
     * 操作类型 0：订阅；1：取消订阅
     */
    @JsonProperty("OperateType")
    private int operateType;

    /**
     * 订阅执行状态 0：订阅中\n" +
     * "1：已取消订阅\n" +
     * "2：订阅到期\n" +
     * "9：未订阅\n" +
     * "该字段只读
     */
    @JsonProperty("SubscribeStatus")
    private int subscribeStatus;

    /**
     * 订阅取消单位
     */
    @JsonProperty("SubscribeCancelOrg")
    private String subscribeCancelOrg;

    /**
     * 订阅取消人
     */
    @JsonProperty("SubscribeCancelPerson")
    private String subscribeCancelPerson;


    /**
     * 取消时间
     */
    @JsonProperty("CancelTime")
    private String cancelTime;

    /**
     * 取消原因
     */
    @JsonProperty("CancelReson")
    private String cancelReson;

    /**
     * 返回结果图片约定 -1 不要图片\n" +
     * "其 他 取 值 参 照 GA/T \n" +
     * "1400.3-2017 中 Imagetype\n" +
     * "的定义：\n" +
     * "01 车辆大图\n" +
     * "02 车牌彩色小图\n" +
     * "03 车牌二值化图\n" +
     * "04 驾驶员面部特征图\n" +
     * "05 副驾驶面部特征图\n" +
     * "06 车标\n" +
     * "07 违章合成图\n" +
     * "08 过车合成图\n" +
     * "09 车辆特写图\n" +
     * "10 人员图\n" +
     * "11 人脸图\n" +
     * "12 非机动车图\n" +
     * "13 物品图\n" +
     * "14 场景图\n" +
     * "100 一般图片
     */
    @JsonProperty("ResultImageDeclare")
    private String resultImageDeclare;


    /**
     * -1 不要特征值1 需要返回特征值
     */
    @JsonProperty("ResultFeatureDeclare")
    private int resultFeatureDeclare;

    /**
     * 订阅分类标签标识
     */
    @JsonProperty("TabID")
    private String tabId;


}
